export interface BaseResponse {
  code: number;
  msg?: string;
}

export interface ApiResponse<T = any> extends BaseResponse {
  data?: T;
}

export type AtLeastOne<T> = {
  [K in keyof T]: Pick<T, K> & Partial<T>
}[keyof T];
